package com.serverclient.jdk.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 方法标记，用来标记某个接口调用所需要的基本元素
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface HttpMethod {
	/**
	 * 接口的请求协议
	 */
	HttpServer.Scheme scheme() default HttpServer.Scheme.HTTP;
	/**
	 * 接口请求地址
	 */
	String server();
	/**
	 * 接口端口号
	 */
	int port();
	/**
	 * 接口请求URI部分
	 */
	String uri();
	/**
	 * 请求方式
	 */
	HttpServer.Method method() default HttpServer.Method.GET;
}